/**
 * @param {number[]} tasks
 * @param {number} space
 * @return {number}
 */
var taskSchedulerII = function (tasks, space) {
  let map = new Map()
  let time = 0
  for (let task of tasks) {
    time++ // 天数++
    if (map.has(task)) {
      let lastTime = time - map.get(task) - 1 // 获得上次的天数
      if (lastTime < space) time += space - lastTime // 如果这次的时间和上次的时间相差小于规定的相差天数 那么这次的时间 就应该加上相差的天数
    }
    map.set(task, time)
  }
  return time
};
let tasks = [1, 2, 1, 2, 3, 1], space = 3
console.log(taskSchedulerII(tasks, space));